package br.pucrio.inf.aaaong.models.domain.database.dao.beans;

import java.util.List;

import br.pucrio.inf.aaaong.models.domain.database.dao.basic.beans.AdolescenteBean;
import br.pucrio.inf.aaaong.models.domain.database.dao.basic.beans.CandidatoBean;
import br.pucrio.inf.aaaong.models.domain.database.dao.basic.beans.CelularBean;
import br.pucrio.inf.aaaong.models.domain.database.dao.basic.beans.EscolaridadeBean;
import br.pucrio.inf.aaaong.models.domain.database.dao.basic.beans.PreInscritoBean;
import br.pucrio.inf.aaaong.models.domain.database.dao.basic.beans.TelefoneFixoBean;
import br.pucrio.inf.aaaong.models.form.errors.FormError;

public class PreInscricaoBeans {
	private AdolescenteBean adolescente;
	private CandidatoBean candidato;
	private List<FormError> errors;
	private PreInscritoBean preInscrito;
	private List<TelefoneFixoBean> telefones;
	private List<CelularBean> celulares;
	private EscolaridadeBean escolaridade;
	
	public PreInscricaoBeans(AdolescenteBean adolescente, CandidatoBean candidato,
			PreInscritoBean preInscrito, List<TelefoneFixoBean> telefones,
			List<CelularBean> celulares, EscolaridadeBean escolaridade, List<FormError> errors) {
		this.adolescente = adolescente;
		this.candidato = candidato;
		this.preInscrito = preInscrito;
		this.telefones = telefones;
		this.celulares = celulares;
		this.escolaridade = escolaridade;
		this.errors = errors;
	}
	
	public void setId(int id) {
		this.adolescente.setId(id);
		this.candidato.setId(id);
		this.preInscrito.setId(id);
		for (TelefoneFixoBean telefone : telefones) {
			telefone.setIdAdolescente(id);
		}
		for (CelularBean celular : celulares) {
			celular.setIdAdolescente(id);
		}
		this.escolaridade.setIdAdolescente(id);
	}
	
	public boolean haveErrors() {
		return !this.errors.isEmpty();
	}
	
	public List<FormError> getErrors() {
		return errors;
	}
	
	public AdolescenteBean getAdolescente() {
		return adolescente;
	}

	public CandidatoBean getCandidato() {
		return candidato;
	}
	
	public PreInscritoBean getPreInscrito() {
		return preInscrito;
	}
	
	public List<TelefoneFixoBean> getTelefonesFixos() {
		return telefones;
	}
	
	public List<CelularBean> getCelulares() {
		return celulares;
	}
	
	public EscolaridadeBean getEscolaridade() {
		return escolaridade;
	}
}
